The present invention relates generally to computer architecture systems and, more particularly, to a method and system for dynamically associating type information and creating and processing meta-data in a service oriented architecture.
Most service oriented computer network systems use Simple Object Access Protocol (SOAP) as an encoding mechanism, and therefore Extensible Markup Language (XML) as the underlying message format. Normally, messages transferred between the client and the service and both parties follow a message format known to both of them such that they can determine the message type and map it to their type system. This determination is typically based on static information such a well-known schema (e.g., published by standard bodies), some previous agreement on the schema (e.g., published by the service provider in a service description such as WSDL), or using a standard set of application programming interfaces. There are also other cases wherein the XML schema information and types are embedded with the message, and the framework knows how to interpret the message. Such characteristics are acceptable for most of the presently utilized message exchange patterns where both the parties are familiar with one other and the message(s) exchanged therebetween.
On the other hand, it is also desirable to be able to support a message exchange pattern wherein both client and server are flexible such that messages may be sent without being bound to a previous agreement on the schema. Although “open-content” XML schemas are available by using the XML “any” type definition extension, there is still a semantic problem (i.e., meaning and use of the data) associated with flexible, open-content message data. This problem is driven by the static nature of the data and “a priori” agreements between both parties in the exchange pattern. Accordingly, it would be advantageous to be able to exchange semantic type information dynamically along with the message, but without disturbing the exchange pattern.